﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AdmLaboratorios.DTO;
using System.Data.SqlClient;
using System.Data;

namespace AdmLaboratorios.DAO
{
    public class PermisoDAO : DAOBase<PermisoDTO>
    {
        public List<PermisoDTO> GetByUsuarioInstitucion(int idUsuario, int idInstitucion)
        {
            string sQuery = @"SELECT DISTINCT Permiso.* 
                            FROM UsuarioPerfil
                            JOIN Perfil ON Perfil.Id = UsuarioPerfil.IdPerfil
                            JOIN Permiso ON Permiso.IdPerfil = UsuarioPerfil.IdPerfil 
                            WHERE UsuarioPerfil.IdUsuario = {0} AND UsuarioPerfil.IdInstitucion = {1}";

            sQuery = string.Format(sQuery, idUsuario, idInstitucion);

            //Lista de Entidades a retornar.
            List<PermisoDTO> r = new List<PermisoDTO>();
            PermisoDTO o;

            foreach (System.Data.DataRow unDr in GetTable(sQuery).Rows)
            {
                o = new PermisoDTO();
                DAOHelper.PoblarObjetoDesdeDataRow(o, unDr);
                r.Add(o);
            }
            return r;
        }
    }
}
